Machine learning uses computational and statistical methods to enable a computer to “learn” from a set of data. Conventional machine learning involves learning a mapping from a feature or list of features to a class or value. More specifically, an item typically has a feature or set of features associated therewith, and such feature or set of features can be analyzed to determine what class or value to assign to an item. Pursuant to an example, it may be desirable to learn a function that determines whether or not a mushroom is poisonous and/or determines a probability that the mushroom is poisonous. The features of mushrooms that can be identified include size, shape, color, location where the mushroom is growing, amongst others. Given sufficient data regarding mushrooms, an algorithm can be learned that can map a mushroom (with certain features) to a class (poisonous or non-poisonous) or output a value (a probability that the mushroom is poisonous).
Relational machine learning is a relatively new area of machine learning. In relational machine learning, relationships (either defined or learned) are taken into consideration. More specifically, relationships between items that inference is desirably performed upon are considered. In an example, a university department may include students that get grades, professors that give grades, courses that students take and professors teach, and publications, where these items are all related. In an example, it may be desirable use relational machine learning to determine a quality of each teacher. To make such determination, it may be desirable to review grades that students received in different courses taught by different professors. This may be used to determine quality of each student, wherein there is a relationship between quality of students and quality of professors. In relational machine learning, inference can be performed at substantially similar times for quality of students and for quality of teachers. Because relationships can be defined and inference can be performed over relationships at substantially similar times, relational machine learning is a powerful tool.
An example structure that can be used in connection with relational machine learning is a Markov Logic Network (MLN). A MLN is a general model that can be used to represent statistical dependencies in a relational domain, and have been applied to applications where the task is to predict the probability that two entities are in a particular relationship. For instance, a MLN can be used to determine that two records in a database refer to a substantially similar entity. While MLNs and other relational models can be used effectively to predict or estimate relationships, due to their complexity a substantial amount of time may be required to perform inference over one or more objects or relationships. Accordingly, relational machine learning is inefficient when complex or numerous relationships exist in data.